﻿using System;
using System.Data;
using System.Text.RegularExpressions;
using System.Configuration;
using System.Collections;
using System.Collections.Generic;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using DataInfo;
using KenLib.BusinessManager;
using System.Drawing;
using XBLib.Dal.AdoDal;

public partial class Org_frmO_BasicInfoInput : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        ((Org_MasterPage)this.Master).changeTitle("監理団体情報確認");
        ((Org_MasterPage)this.Master).HideLiArea("frmO_BasicInfoInputCheck");

        if (Session["人コード"] == null)
        {
            Response.Redirect("../frmD_Login.aspx");
        }
        else if (Session["人コード"].ToString() == "")
        {
            Response.Redirect("../frmD_Login.aspx");
        }

       
        //if (Session["本社情報"] == null)
        //{
        //    Response.Redirect("../frm_MOrgManager.aspx");
        //}

        if (!IsPostBack)
        {
            if (Session["役"] != null && (Session["役"].ToString() == "2" || Session["役"].ToString() == "3"))
            {
                int 企業コード = Int32.Parse(Session["企業コード_2"].ToString());

                if (Session["本社情報"] != null)
                {
                    btn_登録.Enabled = true;
                    Load本社情報();
                }
                else
                {
                    LoadExists本社情報(企業コード);
                    btn_登録.Enabled = false;
                }
            }
            else
            {
                btn_次.Visible = false;
                Load本社情報();
            }
        }
    }

    /// <summary>
    /// load du lieu len form khi mode update
    /// </summary>
    /// <param name="企業コード"></param>
    protected void LoadExists本社情報(int 企業コード)
    {
        frmO_BasicInfoInputManager frm_manager = new frmO_BasicInfoInputManager();
        DataTable dt = frm_manager.SelectExists本社情報(企業コード);
        if (dt.Rows.Count > 0)
        {
            Dictionary<int, string> dictionary = new Dictionary<int, string>();
            dictionary.Add(0, "商工会議所・商工会");
            dictionary.Add(1, "中小企業団体");
            dictionary.Add(2, "職業訓練法人");
            dictionary.Add(3, "農業協同組合");
            dictionary.Add(4, "漁業協同組合");
            dictionary.Add(5, "公益社団法人");
            dictionary.Add(6, "その他");

            lbl_組合名.Text = dt.Rows[0]["企業名"].ToString();
            lbl_拠点名フリガナ.Text = dt.Rows[0]["企業名フリガナ"].ToString();
            lbl_省略名称.Text = dt.Rows[0]["企業名省略名称"].ToString() != "" ? dt.Rows[0]["企業名省略名称"].ToString() : "－";
            lbl_郵便番号.Text = dt.Rows[0]["郵便番号"].ToString();
            lbl_住所.Text = dt.Rows[0]["住所"].ToString();
            lbl_住所フリガナ.Text = dt.Rows[0]["住所フリガナ"].ToString();
            lbl_電話番号.Text = dt.Rows[0]["ＴＥＬ"].ToString();
            lbl_FAX番号.Text = dt.Rows[0]["FAX"].ToString();
            lbl_設立年月日.Text = DateTime.Parse(dt.Rows[0]["設立年月日"].ToString()).ToString("yyyy年MM月dd日");
            lbl_出資金.Text = Decimal.Parse(dt.Rows[0]["資本金"].ToString()) > 0 ? Decimal.Parse(dt.Rows[0]["資本金"].ToString()).ToString("###,###") + " 円" : "－";

            lbl_事業内容.Text = "－";
            事業内容Manager frm_事業内容 = new 事業内容Manager();
            DataTable dt_事業内容 = frm_事業内容.frmO_BasicInfoInput_Select_事業内容();
            if (dt.Rows.Count > 0)
            {
                string[] arr = new string[2];
                char[] splitter = { '-' };
                for (int i = 0; i < dt_事業内容.Rows.Count; i++) {
                    arr = dt_事業内容.Rows[i]["ID"].ToString().Split(splitter);
                    if (Int32.Parse(dt.Rows[0]["事業内容ID"].ToString()) == Int32.Parse(arr[0]))
                    {
                        lbl_事業内容.Text = (dt.Rows[0]["事業内容ID"].ToString() != "" && Int32.Parse(dt.Rows[0]["事業内容ID"].ToString()) >= 0) ? dt_事業内容.Rows[i]["事業内容"].ToString() : "－";
                        if (Int32.Parse(arr[1]) == 0)
                        {
                            lbl_事業内容その他.Text = dt.Rows[0]["事業内容その他"].ToString();
                            div_事業内容その他.Visible = true;
                        }
                        else
                        {
                            div_事業内容その他.Visible = false;
                        }
                        break;
                    }else {
                        div_事業内容その他.Visible = false;
                    }
                }
            }

            if (dt.Rows[0]["ウェブサイト"].ToString() != "")
            {
                hpl_ウェブサイト.Text = dt.Rows[0]["ウェブサイト"].ToString();
                string url = "";
                if (dt.Rows[0]["ウェブサイト"].ToString().IndexOf("http://") > -1)
                {
                    url = "http://";
                }
                else if (dt.Rows[0]["ウェブサイト"].ToString().IndexOf("https://") > -1)
                {
                    url = "https://";
                }
                else if (dt.Rows[0]["ウェブサイト"].ToString().IndexOf("ftp://") > -1)
                {
                    url = "ftp://";
                }
                hpl_ウェブサイト.NavigateUrl = url != "" ? dt.Rows[0]["ウェブサイト"].ToString() : "http://" + dt.Rows[0]["ウェブサイト"].ToString();
            }
            else
            {
                hpl_ウェブサイト.Text = "－";
            }
            if (dt.Rows[0]["団体構成"].ToString() != "")
            {
                lbl_団体構成.Text = Boolean.Parse(dt.Rows[0]["団体構成"].ToString()) == true ? "異業種団体" : "単一業種団体";
            }
            if (dt.Rows[0]["地域の詳細"].ToString() != "")
            {
                lbl_地域の詳細.Text = dictionary[Int32.Parse(dt.Rows[0]["地域の詳細"].ToString())].ToString();
            }
            lbl_地域の詳細複数県.Text = dt.Rows[0]["地域の詳細複数県"].ToString();
            lbl_職業紹介番号.Text = dt.Rows[0]["職業紹介番号"].ToString();
            lbl_根拠法令.Text = dt.Rows[0]["根拠法令"].ToString();
            lbl_許可官庁.Text = dt.Rows[0]["許可官庁"].ToString();
            lbl_受入事業開始日.Text = DateTime.Parse(dt.Rows[0]["受入事業開始日"].ToString()).ToString("yyyy年MM月dd日");

            Session["frmO_BasicInfoInputCheck_企業名"] = dt.Rows[0]["企業名"].ToString();
        }
    }

    /// <summary>
    /// load du lieu len form khi co session 本社情報
    /// </summary>
    protected void Load本社情報()
    {
        if (Session["本社情報"] != null)
        {
            Dictionary<int, string> dictionary = new Dictionary<int, string>();
            dictionary.Add(0, "商工会議所・商工会");
            dictionary.Add(1, "中小企業団体");
            dictionary.Add(2, "職業訓練法人");
            dictionary.Add(3, "農業協同組合");
            dictionary.Add(4, "漁業協同組合");
            dictionary.Add(5, "公益社団法人");
            dictionary.Add(6, "その他");

            本社情報 obj_本社情報 = new 本社情報();
            obj_本社情報 = (本社情報)Session["本社情報"];

            lbl_組合名.Text = obj_本社情報.企業名;
            lbl_拠点名フリガナ.Text = obj_本社情報.企業名フリガナ;
            lbl_省略名称.Text = obj_本社情報.企業名省略名称 != "" ? obj_本社情報.企業名省略名称 : "－";
            lbl_郵便番号.Text = obj_本社情報.郵便番号;
            lbl_住所.Text = obj_本社情報.住所;
            lbl_住所フリガナ.Text = obj_本社情報.住所フリガナ;
            lbl_電話番号.Text = obj_本社情報.ＴＥＬ;
            lbl_FAX番号.Text = obj_本社情報.FAX;
            lbl_設立年月日.Text = DateTime.Parse(obj_本社情報.設立年月日.ToString()).ToString("yyyy年MM月dd日");
            lbl_出資金.Text = Session["資本金"].ToString() != "0" ? Session["資本金"].ToString() + " 円" : "－";
            //lbl_出資金.Text = obj_本社情報.資本金 != 0 ? obj_本社情報.資本金.ToString("###,###") + " 円" : "－";
            //lbl_出資金.Text = String.Format("{0:c}", obj_本社情報.資本金);

            if (obj_本社情報.事業内容ID != -1)
            {
                lbl_事業内容.Text = obj_本社情報.事業内容;
            }
            else {
                lbl_事業内容.Text = "－";
            }

            事業内容Manager frm_事業内容 = new 事業内容Manager();
            DataTable dt_事業内容 = frm_事業内容.frmO_BasicInfoInput_Select_事業内容();
            if (dt_事業内容.Rows.Count > 0)
            {
                string[] arr = new string[2];
                char[] splitter = { '-' };
                for (int i = 0; i < dt_事業内容.Rows.Count; i++)
                {
                    arr = dt_事業内容.Rows[i]["ID"].ToString().Split(splitter);
                    if (obj_本社情報.事業内容ID == Int32.Parse(arr[0]))
                    {
                        if (Int32.Parse(arr[1]) == 0)
                        {
                            lbl_事業内容その他.Text = obj_本社情報.事業内容その他;
                            div_事業内容その他.Visible = true;
                        }
                        else
                        {
                            div_事業内容その他.Visible = false;
                        }
                        break;
                    }
                    else
                    {
                        div_事業内容その他.Visible = false;
                    }
                }
            }

            if (obj_本社情報.ウェブサイト != "")
            {
                hpl_ウェブサイト.Text = obj_本社情報.ウェブサイト;
                string url = "";
                if (obj_本社情報.ウェブサイト.IndexOf("http://") > -1) {
                    url = "http://";
                }else if (obj_本社情報.ウェブサイト.IndexOf("https://") > -1){
                    url = "https://";
                }else if(obj_本社情報.ウェブサイト.IndexOf("ftp://") > -1){
                    url = "ftp://";
                }
                hpl_ウェブサイト.NavigateUrl = url != "" ? obj_本社情報.ウェブサイト : "http://" + obj_本社情報.ウェブサイト;
            }
            else {
                hpl_ウェブサイト.Text = "－";
            }
            lbl_団体構成.Text = obj_本社情報.団体構成 == true ? "異業種団体" : "単一業種団体";
            lbl_地域の詳細.Text = dictionary[obj_本社情報.地域の詳細].ToString();
            lbl_地域の詳細複数県.Text = obj_本社情報.地域の詳細複数県;
            lbl_職業紹介番号.Text = obj_本社情報.職業紹介番号;
            lbl_根拠法令.Text = obj_本社情報.根拠法令;
            lbl_許可官庁.Text = obj_本社情報.許可官庁;
            lbl_受入事業開始日.Text = DateTime.Parse(obj_本社情報.受入事業開始日.ToString()).ToString("yyyy年MM月dd日");
        }
    }
    protected void btn_登録_Click(object sender, EventArgs e)
    {
        if (Session["本社情報"] != null)
        {
            本社情報 obj = new 本社情報();
            obj = (本社情報)Session["本社情報"];

            frmO_BasicInfoInputManager frm_manager = new frmO_BasicInfoInputManager();
            if (Session["役"] != null && (Session["役"].ToString() == "2" || Session["役"].ToString() == "3"))
            {
                int 企業コード = Int32.Parse(Session["企業コード_2"].ToString());
                decimal 資本金 = Decimal.Parse(Session["資本金"].ToString());
                frm_manager.Update本社情報(obj, 企業コード, 資本金);
                Session["frmO_BasicInfoInputCheck_企業ID"] = 企業コード.ToString();
            }
            else
            {
                decimal 資本金 = Decimal.Parse(Session["資本金"].ToString());
                DataTable dt = frm_manager.Insert本社情報(obj, 資本金);
                if (dt.Rows.Count > 0)
                {
                    Session["frmO_BasicInfoInputCheck_企業ID"] = dt.Rows[0]["企業ID"].ToString();
                }
            }
            Session.Remove("本社情報");
            if (Session["frmO_BasicInfoInputCheck_企業名"] != null)
                Session.Remove("frmO_BasicInfoInputCheck_企業名");

			if (Session["mode_action"] != null)
			{
				Session.Remove("mode_action");
				Response.Redirect("frmO_BasicInfoRef.aspx");
			}

			Response.Redirect("frmO_HistoryInfoInput.aspx");
        }
    }
    protected void btn_修正_Click(object sender, EventArgs e)
    {
        if (Session["役"] != null && (Session["役"].ToString() == "2" || Session["役"].ToString() == "3"))
        {
            if (Session["本社情報"] == null)
            {
                int 企業コード = Int32.Parse(Session["企業コード_2"].ToString());
                frmO_BasicInfoInputManager frm_manager = new frmO_BasicInfoInputManager();
                DataTable dt = frm_manager.SelectExists本社情報(企業コード);
                if (dt.Rows.Count > 0)
                {
                    本社情報 obj = new 本社情報();
                    obj.企業名 = dt.Rows[0]["企業名"].ToString();
                    obj.企業名フリガナ = dt.Rows[0]["企業名フリガナ"].ToString();
                    obj.企業名省略名称 = dt.Rows[0]["企業名省略名称"].ToString();
                    obj.郵便番号 = dt.Rows[0]["郵便番号"].ToString();
                    obj.住所 = dt.Rows[0]["住所"].ToString();
                    obj.住所フリガナ = dt.Rows[0]["住所フリガナ"].ToString();
                    obj.ＴＥＬ = dt.Rows[0]["ＴＥＬ"].ToString();
                    obj.FAX = dt.Rows[0]["FAX"].ToString();
                    obj.設立年月日 = DateTime.Parse(dt.Rows[0]["設立年月日"].ToString());
                    //obj.資本金 = Double.Parse(dt.Rows[0]["資本金"].ToString());
                    Session["資本金"] = lbl_出資金.Text != "－" ? lbl_出資金.Text.Replace("円","").Trim() : "0";
                    if (dt.Rows[0]["事業内容ID"].ToString() != "")
                    {
                        obj.事業内容ID = Int32.Parse(dt.Rows[0]["事業内容ID"].ToString());
                    }
                    else
                    {
                        obj.事業内容ID = -1;
                    }
                    obj.事業内容その他 = dt.Rows[0]["事業内容その他"].ToString();
                    obj.ウェブサイト = dt.Rows[0]["ウェブサイト"].ToString();
                    obj.団体構成 = Boolean.Parse(dt.Rows[0]["団体構成"].ToString());
                    obj.地域の詳細 = Int32.Parse(dt.Rows[0]["地域の詳細"].ToString());
                    obj.地域の詳細複数県 = dt.Rows[0]["地域の詳細複数県"].ToString();
                    obj.職業紹介番号 = dt.Rows[0]["職業紹介番号"].ToString();
                    obj.根拠法令 = dt.Rows[0]["根拠法令"].ToString();
                    obj.許可官庁 = dt.Rows[0]["許可官庁"].ToString();
                    obj.受入事業開始日 = DateTime.Parse(dt.Rows[0]["受入事業開始日"].ToString());
                    Session["本社情報"] = obj;
                }
            }
            Session["リセット"] = "on";
        }
        Response.Redirect("frmO_BasicInfoInput.aspx");
    }
    protected void btn_次_Click(object sender, EventArgs e)
    {
        if (Session["frmO_BasicInfoInputCheck_企業名"] != null)
            Session.Remove("frmO_BasicInfoInputCheck_企業名");

        if (Session["本社情報"] != null)
            Session.Remove("本社情報");

        Session["frmO_BasicInfoInputCheck_企業ID"] = Int32.Parse(Session["企業コード_2"].ToString());
        Response.Redirect("frmO_HistoryInfoInput.aspx");
    }

}
